﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Windows.Forms;
namespace KornyezetVedelem
{
    class Alkalmazott : DAL
    {
        private DataSet dS;
        private String strE;
        private int id;
        public Alkalmazott(ref bool Err)
        {
            if (!base.IsConnectCreated()) //ha a kapcsolat meg nem jott letre(meg nincs letrehozva)
            {
                Err = !base.MakeConnection();
            }
        }


        //feltolti a DataReader objektumot a Nyaralok tabla NyaraloNev oszlopok mezoivel
        public System.Data.SqlClient.SqlDataReader AlkalmazottToltDR(ref string ErrM)
        {
            string sSQL = "SELECT Cim,EllenorzoKozpontokId from EllenorzoKozpontok";
            myDataReader = base.myExecuteReader(sSQL, ref ErrM);
            return myDataReader;
        }
        public DataSet AlkalmazottToltDS(ref string ErrM)
        {
            string sSQL = "SELECT AlkalmazottId,Nev,a.Cim,Fizetes,TelefonSzam,e.Cim as EllenorzoKozpont,CNP FROM Alkalmazottak a ,Ellenorzokozpontok e where a.EllenorzoKozpontokId = e.EllenorzoKozpontokId";
            dS = base.myExecuteReader_D(sSQL, ref ErrM);
            return dS;
        }
        public void Beszur(String Nev, String Cim,long Fizetes,int TelefonSzam,String ellenkoz,long cnp)
        {
            //nev,cim,fizetes,telefonszam, ellenkoz,cnp
            string sSQL = "SELECT MAX(AlkalmazottId) FROM Alkalmazottak";
            int max = base.getMaximumId(sSQL) + 1;
            System.Data.SqlClient.SqlDataReader reader = AlkalmazottToltDR(ref strE);
            while (reader.Read())
            {
                if(reader["Cim"].ToString()==ellenkoz) 
                    Int32.TryParse(reader["EllenorzoKozpontokId"].ToString(),out id);
            }
            //CloseConnection();
            sSQL = "INSERT INTO Alkalmazottak values(" + max + "," + "'" + Nev + "'" + "," + "'" + Cim + "'" + "," + Fizetes + "," + TelefonSzam + "," + id + "," + cnp + ")";
            beszuras(sSQL);
        }
        public Exception Torol(String Id)
        {
            Exception ex1;
            String delSQL = "DELETE FROM Alkalmazottak WHERE AlkalmazottId = " + Id;
            ex1 = Torles(delSQL);
            return ex1;

        }
        public void Modosit(String IdA, String Nev, String Cim, long Fizetes, int TelefonSzam, String ellenkoz, long cnp)
        {
            //id,nev, cim, fizetes, telefonszam, ellenkoz, cnp
            System.Data.SqlClient.SqlDataReader reader = AlkalmazottToltDR(ref strE);
            while (reader.Read())
            {
                if (reader["Cim"].ToString() == ellenkoz)
                    Int32.TryParse(reader["EllenorzoKozpontokId"].ToString(), out id);
            }
            String sSQL = "Update Alkalmazottak  set Nev=" + "'" + Nev + "'" + "," + "Cim='" + Cim + "'" + ",Fizetes=" + Fizetes + ",TelefonSzam=" + TelefonSzam + ",EllenorzoKozpontokId=" + id + ",Cnp=" + cnp + "Where alkalmazottid = " + IdA;
            reader.Close();
            CloseConnection();
            modositas(sSQL);
        }
        public void feltoltCombo(ComboBox comboBox1, ComboBox comboBox2)
        {
            MakeConnection();
            System.Data.SqlClient.SqlDataReader reader;
            reader = AlkalmazottToltDR(ref strE);
           
            while (reader.Read())
            {
                comboBox1.Items.Add(reader["Cim"]);
                comboBox2.Items.Add(reader["Cim"]);
            }
            reader.Close();
            CloseConnection();
        }
        public DataSet Szuro(String s,int fizetes,String ell,String ErrM)
        {
              string sSQL,s1="",s2="",s3="";
              sSQL = "SELECT AlkalmazottId,Nev,a.Cim,Fizetes,TelefonSzam,e.Cim as EllenorzoKozpont,CNP FROM Alkalmazottak a ,Ellenorzokozpontok e where a.EllenorzoKozpontokId = e.EllenorzoKozpontokId";
              if (s != "")
                  s1 = " and a.Nev like '" + s + "%'";
              if(fizetes!=0)
                  s2 = " and a.Fizetes >"+fizetes;
              if (ell != "")
                  s3 = " and e.Cim = '" + ell + "'";
              sSQL = sSQL + s1 + s2 + s3;
                  
            dS = myExecuteReader_D(sSQL, ref ErrM);
            return dS;            
        }
    }
}
